Skip to content

feat(bundle): grounds bundle list / show#29

Merged
hbrombeer merged 1 commit intomainfrom
feat/bundle-cli
May 3, 2026
Merged

feat(bundle): grounds bundle list / show#29
hbrombeer merged 1 commit intomainfrom
feat/bundle-cli

Conversation

@hbrombeer
Copy link
Copy Markdown
Member

Summary

CLI wrapper for the new bundle read-endpoints in grounds-forge#110. Lets engineers inspect available bundles before picking one for `grounds cluster up --bundle `.

Commands

`grounds bundle list` — shows released versions newest-first with `(latest)` marker.

`grounds bundle show ` — prints the component table for a bundle, including each component's type, image:tag, chart version, and DevSpace workflow. Optional components (currently `nats-recorder`) are marked.

`` accepts the same shapes as `cluster up --bundle`: semver, `v…`, full release tag, or `main`.

Why

Right now engineers either browse the GitHub releases page or read `bundle.yaml` directly. Both work but neither is one terminal away from the rest of the platform-test workflow. This puts version + composition lookup right next to `cluster up`, `devspace generate`, etc.

Pairs with

  • grounds-forge#110 — the endpoints these commands call. Without it, both subcommands return 404.

Test plan

  • `go vet ./...`
  • `go test ./...`
  • `grounds bundle --help` / `bundle list --help` / `bundle show --help` look right
  • Live exercise once forge#110 deploys

🤖 Generated with Claude Code

CLI wrapper for the new GET /v1/bundle/releases + GET /v1/bundle/:ref
endpoints (forge#110). Lets engineers inspect available bundles
before picking one for `grounds cluster up --bundle <X>`:

  $ grounds bundle list
  VERSION       PUBLISHED   URL
  0.4.0 (latest) 2026-05-03 https://...
  0.3.0          2026-04-15 https://...

  $ grounds bundle show 0.4.0
  Bundle:    0.4.0
  About:     Grounds-Platform-Composition...

  Components:
    NAME                   TYPE                  IMAGE             CHART  DEVSPACE
    plugin-social          plugin-velocity       .../plugin-social:edge 0.1.0  jar-sync-pod-restart
    nats-recorder (optional) utility            .../nats-recorder:edge 0.1.0  -
    service-config         grpc-service          .../service-config:edge 0.1.0  quarkus-dev
    velocity               plugin-velocity-base  .../velocity:edge      0.1.0  jar-sync-pod-restart

The `optional` marker calls out components that are off by default
(currently nats-recorder) so engineers know to flip enabled:true in
their override file if they want them.

Pairs with grounds-forge#110 — without that PR these commands return
404. With it, no auth-token shaping is needed (the same Keycloak
bearer the CLI already holds works for the bundle GETs).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@hbrombeer hbrombeer merged commit ad42a5f into main May 3, 2026
3 of 4 checks passed
@hbrombeer hbrombeer deleted the feat/bundle-cli branch May 3, 2026 19:59
hbrombeer added a commit that referenced this pull request May 4, 2026
The self-hosted Linux runner that ci.yml + release.yml depend on has
been offline / not picking up jobs since the last #29 push. Three
release-creating push-events are queued behind it: the cluster up
--bundle, devspace generate, and bundle list/show merges (PRs #27 +
#28 + #29) → no v0.1.12 tag, no goreleaser run, no published
binaries.

Switch all self-hosted runs-on to ubuntu-latest so the queue drains
and the new CLI surface ships. Public-repo Actions minutes on
GitHub-hosted runners are free; the self-hosted setup can be
reintroduced once it's healthy.

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant